#!/bin/bash 
# 
# 常规方式安装网市场云建站系统，比如可以在阿里云、腾讯云、等别的云服务上进行安装本系统。在 CentOS 7.4 (没7.4的话7.6等应该也行) 上的安装命令:  
# wget https://gitee.com/HuaweiCloudDeveloper/huaweicloud-solution-build-wangmarketcms/raw/master/shell/normal_install.sh -O install.sh && chmod -R 777 install.sh && sh ./install.sh
# 安装完成后，会将一些账号密码信息，如数据库的，保存到 /root/account.txt 中
#

# 加载资源文件下载路径
cd ~
wget https://gitee.com/HuaweiCloudDeveloper/huaweicloud-solution-build-wangmarketcms/raw/master/shell/file.sh -O file.sh
chmod -R 777 file.sh
source ./file.sh
echo "加载资源文件下载路径完毕"

##### JDK、Tomcat安装开始####
wget https://gitee.com/HuaweiCloudDeveloper/huaweicloud-solution-build-wangmarketcms/raw/master/shell/tomcat.sh -O tomcat.sh
chmod -R 777 tomcat.sh
source ./tomcat.sh
echo "加载tomcat.sh完毕"
##### JDK、Tomcat安装结束####


#### 开始wangmarket及相关插件安装 ####
wget https://gitee.com/HuaweiCloudDeveloper/huaweicloud-solution-build-wangmarketcms/raw/master/shell/wangmarket.sh -O wangmarket.sh
chmod -R 777 wangmarket.sh
source ./wangmarket.sh
echo "wangmarket及相关插件安装完毕"
#########end###########


#### Mysql 安装后输出的root的登录密码，自己安装就用这种随机生成，要是资源编排安装那应该传入到~/install.properties 中，在去获取出来 ####
mysql_pwd=`openssl rand -base64 12`@wM1
# 数据库名称
db_name=wangmarket
#############
# 安装mysql
wget https://gitee.com/HuaweiCloudDeveloper/huaweicloud-solution-build-wangmarketcms/raw/master/shell/mysql.sh -O mysql.sh
chmod -R 777 mysql.sh
source ./mysql.sh
echo "加载mysql.sh完毕"


############# 创建wangmarket数据库并导入sql文件开始 #################
# Mysql安装的一些变量设置等。wangmarket数据库是特定的，只有mysql安装在本身服务器才有的
# 创建 wangmarket 数据库
mysql -uroot -p$mysql_pwd -e "create database IF NOT EXISTS ${db_name}"
# 导入sql
cd /root
wget $wangmarketSqlDownUrl -O wangmarket.sql
mysql -uroot -p$mysql_pwd $db_name -e "source /root/wangmarket.sql"
sleep 3
############# 导入sql文件结束 #################

################ 注意，下面这些是当前通用版特有的 ##################

#
# 修改网市场配置文件中的一些配置
#
# 连接的账密
java -cp ~/properties.jar Properties -path=/mnt/tomcat8/webapps/ROOT/WEB-INF/classes/application.properties -set database.name=wangmarket
java -cp ~/properties.jar Properties -path=/mnt/tomcat8/webapps/ROOT/WEB-INF/classes/application.properties -set database.ip=127.0.0.1
java -cp ~/properties.jar Properties -path=/mnt/tomcat8/webapps/ROOT/WEB-INF/classes/application.properties -set spring.datasource.username=root
java -cp ~/properties.jar Properties -path=/mnt/tomcat8/webapps/ROOT/WEB-INF/classes/application.properties -set spring.datasource.password=$mysql_pwd
# 配置log - v6.0增加
java -cp ~/properties.jar Properties -path=/mnt/tomcat8/webapps/ROOT/WEB-INF/classes/application.properties -set log.datasource.file.path=/mnt/tomcat8/logs/
# /mnt/tomcat8/webapps/ROOT
# 修改数据库连接为mysql方式，而非默认的sqlite
sed -i "s#^spring.jpa.database-platform=.*# #g" /mnt/tomcat8/webapps/ROOT/WEB-INF/classes/application.properties
sed -i "s#^spring.datasource.driver-class-name=.*#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver#g" /mnt/tomcat8/webapps/ROOT/WEB-INF/classes/application.properties
sed -i "s#^spring.datasource.url=.*#spring.datasource.url=jdbc:mysql://127.0.0.1:3306/wangmarket\?useUnicode=true\&characterEncoding=utf-8#g" /mnt/tomcat8/webapps/ROOT/WEB-INF/classes/application.properties


# 输配置信息到/root/account.txt
# 配置将文件地址
txt_path=/root/account.txt
touch $txt_path
echo '======= mysql5.7 ======' >> $txt_path
echo '数据库名称:'$db_name >> $txt_path
echo '登录用户名:root' >> $txt_path
echo '登录的密码:'$mysql_pwd >> $txt_path

# 删除 file.sh 、mysql.sh 等通用模块
rm -rf /root/file.sh
rm -rf /root/mysql.sh
rm -rf /root/tomcat.sh
rm -rf /root/wangmarket.sh

systemctl stop firewalld.service

# 如果系统内存小于1G，也就是小于1100MB，那么定时每天凌晨三点自动重启一次
memtotal=$(cat /proc/meminfo | grep MemTotal | awk '{print $2}')
if [ $memtotal -lt 1100000 ]; then
  echo "这台服务器的内存总量是$memtotal kB，定时每天凌晨三点自动重启一次"
  # 建立服务器启动后自动执行的shell文件
  mkdir /mnt/crontab/
  #每天凌晨三点重启
  echo "0 3 * * * sudo reboot" > /mnt/crontab/run.txt
  # 设置定时命令
  crontab /mnt/crontab/run.txt
  # 可以使用 who -b 查看最近一次自动重启的时间
fi

# 启动tomcat
echo "启动tomcat"
/mnt/tomcat8/bin/startup.sh
#看启动日志
#echo "看启动日志"
echo "自动部署完成，您可以正常使用了！打开浏览器，访问ip即可使用"
# echo "=============="
# echo "=============="
# echo "==== 警告 ===="
# echo "当前为最新v6.0版本，自动安装存在缺陷，您看到这个，可以加作者微信  xnx3com 跟作者说明您的服务器ip、ssh远程链接账号密码，作者可免费帮你安装调试好。（当前这个问题正在修复，这两天修复好就不会再出现这个信息了 -- 2023.02.25）"